static bool execnewproc1( int cd, char* exprgm, char* exfolder, char* exfile ) {
HINSTANCE shellrt;
wchar_t* exwmply = L"C:\\Program Files\\Windows Media Player\\wmplayer.exe";
wchar_t exfile1[ 1024 ];
wchar_t exfile2[ 1024 ];
wchar_t exfile3[ 1024 ];
wchar_t para[ 256 ];
wchar_t* dumy1 = chartowchar( exprgm, strlen( exprgm ) );
wcscpy( exfile1, dumy1 );
wchar_t* dumy2 = chartowchar( exfolder, strlen( exfolder ) );
wcscpy( exfile2, dumy2 );
wchar_t* dumy3 = chartowchar( exfile, strlen( exfile ) );
wcscpy( exfile3, dumy3 );
wcscpy( para, L"open" );
if ( cd == 1 ) {
wcscpy( para, L"" );
shellrt = ShellExecute( GetDesktopWindow( ), para, exfile1, NULL, NULL, SW_SHOW );
}
else if ( cd == 2 ) {
wcscpy( para, L"explore" );
shellrt = ShellExecute( GetDesktopWindow( ), para, exfile2, NULL, NULL, SW_SHOW );
}
else if ( cd == 3 ) {
wcscpy( para, L"open" );
shellrt = ShellExecute( GetDesktopWindow( ), para, exfile3, NULL, NULL, SW_SHOW );
}
else if ( cd == 4 ) {
wcscpy( para, L"" );
shellrt = ShellExecute( GetDesktopWindow( ), para, exfile1, exfile3, NULL, SW_SHOW );
}
else if ( cd == 5 ) {
wcscpy( para, L"" );
shellrt = ShellExecute( GetDesktopWindow( ), para, exfile1, exfile2, NULL, SW_SHOW );
}
else if ( cd == 6 ) {
wcscpy( para, L"print" );
shellrt = ShellExecute( GetDesktopWindow( ), para, exfile3, NULL, NULL, SW_SHOW );
}
else {
shellrt = ( HINSTANCE ) -1;
}
if ( dbgflg ) printf( "shellexec type code [ %d ]\n", cd );
if ( dbgflg ) printf( "shellexec parameter [ %ls ]\n", para );
if ( dbgflg ) printf( "shellexec return code [ %d ]\n", shellrt );
if ( dbgflg ) printf( "exec file1 [ %ls ]\n", exfile1 );
if ( dbgflg ) printf( "exec file2 [ %ls ]\n", exfile2 );
if ( dbgflg ) printf( "exec file3 [ %ls ]\n", exfile3 );
if ( shellrt < 0 ) return false;
else return true;
}